/*
package top.xierongsheng.code;

import lombok.extern.slf4j.Slf4j;
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;


*/
/**
 * 全局响应处理器(控制层)
 *
 * @auther 谢荣生
 * @datetime 2020/10/27 16:10
 *//*

@Slf4j
@RestControllerAdvice(basePackages = "top.xierongsheng")
public class GlobalResponseBodyAdvice implements ResponseBodyAdvice<Object> {

    */
/**
     * 这个方法用于判断是否需要对返回的response进行处理。如果返回true，则会在返回response之前调用beforeBodyWrite方法；如果返回false，则不会进行任何处理。
     * @return
     *//*

    @Override
    public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
        return true;
    }

    */
/**
     * 这个方法用于对返回的response进行具体的处理。它可以在response写入客户端之前，对response的内容进行修改或者添加额外的头信息等。
     * 例如统一格式化、加密、解密、添加额外头信息等。这可以方便地对Controller的返回值进行统一管理和控制，提高系统的可维护性和安全性
     * @return
     *//*

    @Override
    public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
        return R.ok().zip("data", body);
    }
}
*/
